package cn.wolfcode.luowowo.member.service;

import cn.wolfcode.luowowo.common.exception.DisableException;
import cn.wolfcode.luowowo.member.domain.UserInfo;
import cn.wolfcode.luowowo.small.domin.Goods;

import java.util.List;

public interface IUserInfoService {
    UserInfo get(Long id);

    boolean checkPhone(String phone);

    /**
     * 注册用户信息s
     * @param phone
     * @param nickname
     * @param password
     * @param rpassword
     * @param verifyCode
     * @throws DisableException
     */

    void userRegist(String phone, String nickname, String password, String rpassword, String verifyCode)throws DisableException;

    /**
     * 发送短信验证码
     * @param phone
     */
    void sendVerifyCode(String phone) throws DisableException;

    String userLogin(String username, String password) throws DisableException;

    List<UserInfo> listAll();

    /**
     * 根据用户id查金币
     * @param id
     * @return
     */
    Long getCoinByUserId(Long id);

    /**
     *根据用户id更新用户金币
     * @param id
     * @param coin
     */
    void updateCoinByUserId(Long id, Long coin);

    /**
     * 根据用户的id 查找用户所有的道具
     * @param id
     * @return
     */
  List<Goods> getGoodsByUserId(Long id);
    /**
     *
     * @param userInfo
     */
    void update(UserInfo userInfo);

    /**
     * 根据用户的id增加用户的积分
     * @param userId
     * @param coin
     */
    void addUserCoinById(Long userId,Long coin);
}
